/**
 * <copyright>
 *
 * Copyright (c) 2011 Zeligsoft (2009) Limited
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors: 
 *   Zeligsoft (2009) Limited - Initial API and implementation
 *
 * </copyright>
 *
 */
package org.omg.deployment;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>TC Kind</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * @see org.omg.deployment.DeploymentPackage#getTCKind()
 * @model extendedMetaData="name='TCKind'"
 * @generated
 */
public enum TCKind implements Enumerator {
	/**
	 * The '<em><b>Tk Null</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_NULL_VALUE
	 * @generated
	 * @ordered
	 */
	TK_NULL(0, "tkNull", "tk_null"),

	/**
	 * The '<em><b>Tk Void</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_VOID_VALUE
	 * @generated
	 * @ordered
	 */
	TK_VOID(1, "tkVoid", "tk_void"),

	/**
	 * The '<em><b>Tk Short</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_SHORT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_SHORT(2, "tkShort", "tk_short"),

	/**
	 * The '<em><b>Tk Long</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_LONG_VALUE
	 * @generated
	 * @ordered
	 */
	TK_LONG(3, "tkLong", "tk_long"),

	/**
	 * The '<em><b>Tk Ushort</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_USHORT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_USHORT(4, "tkUshort", "tk_ushort"),

	/**
	 * The '<em><b>Tk Ulong</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ULONG_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ULONG(5, "tkUlong", "tk_ulong"),

	/**
	 * The '<em><b>Tk Float</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_FLOAT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_FLOAT(6, "tkFloat", "tk_float"),

	/**
	 * The '<em><b>Tk Double</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_DOUBLE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_DOUBLE(7, "tkDouble", "tk_double"),

	/**
	 * The '<em><b>Tk Boolean</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_BOOLEAN_VALUE
	 * @generated
	 * @ordered
	 */
	TK_BOOLEAN(8, "tkBoolean", "tk_boolean"),

	/**
	 * The '<em><b>Tk Char</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_CHAR_VALUE
	 * @generated
	 * @ordered
	 */
	TK_CHAR(9, "tkChar", "tk_char"),

	/**
	 * The '<em><b>Tk Octet</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_OCTET_VALUE
	 * @generated
	 * @ordered
	 */
	TK_OCTET(10, "tkOctet", "tk_octet"),

	/**
	 * The '<em><b>Tk Any</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ANY_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ANY(11, "tkAny", "tk_any"),

	/**
	 * The '<em><b>Tk Type Code</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_TYPE_CODE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_TYPE_CODE(12, "tkTypeCode", "tk_TypeCode"),

	/**
	 * The '<em><b>Tk Principal</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_PRINCIPAL_VALUE
	 * @generated
	 * @ordered
	 */
	TK_PRINCIPAL(13, "tkPrincipal", "tk_Principal"),

	/**
	 * The '<em><b>Tk Objref</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_OBJREF_VALUE
	 * @generated
	 * @ordered
	 */
	TK_OBJREF(14, "tkObjref", "tk_objref"),

	/**
	 * The '<em><b>Tk Struct</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_STRUCT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_STRUCT(15, "tkStruct", "tk_struct"),

	/**
	 * The '<em><b>Tk Union</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_UNION_VALUE
	 * @generated
	 * @ordered
	 */
	TK_UNION(16, "tkUnion", "tk_union"),

	/**
	 * The '<em><b>Tk Enum</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ENUM_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ENUM(17, "tkEnum", "tk_enum"),

	/**
	 * The '<em><b>Tk String</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_STRING_VALUE
	 * @generated
	 * @ordered
	 */
	TK_STRING(18, "tkString", "tk_string"),

	/**
	 * The '<em><b>Tk Sequence</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_SEQUENCE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_SEQUENCE(19, "tkSequence", "tk_sequence"),

	/**
	 * The '<em><b>Tk Array</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ARRAY_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ARRAY(20, "tkArray", "tk_array"),

	/**
	 * The '<em><b>Tk Alias</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ALIAS_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ALIAS(21, "tkAlias", "tk_alias"),

	/**
	 * The '<em><b>Tk Except</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_EXCEPT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_EXCEPT(22, "tkExcept", "tk_except"),

	/**
	 * The '<em><b>Tk Longlong</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_LONGLONG_VALUE
	 * @generated
	 * @ordered
	 */
	TK_LONGLONG(23, "tkLonglong", "tk_longlong"),

	/**
	 * The '<em><b>Tk Ulonglong</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ULONGLONG_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ULONGLONG(24, "tkUlonglong", "tk_ulonglong"),

	/**
	 * The '<em><b>Tk Longdouble</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_LONGDOUBLE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_LONGDOUBLE(25, "tkLongdouble", "tk_longdouble"),

	/**
	 * The '<em><b>Tk Wchar</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_WCHAR_VALUE
	 * @generated
	 * @ordered
	 */
	TK_WCHAR(26, "tkWchar", "tk_wchar"),

	/**
	 * The '<em><b>Tk Wstring</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_WSTRING_VALUE
	 * @generated
	 * @ordered
	 */
	TK_WSTRING(27, "tkWstring", "tk_wstring"),

	/**
	 * The '<em><b>Tk Fixed</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_FIXED_VALUE
	 * @generated
	 * @ordered
	 */
	TK_FIXED(28, "tkFixed", "tk_fixed"),

	/**
	 * The '<em><b>Tk Value</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_VALUE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_VALUE(29, "tkValue", "tk_value"),

	/**
	 * The '<em><b>Tk Value Box</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_VALUE_BOX_VALUE
	 * @generated
	 * @ordered
	 */
	TK_VALUE_BOX(30, "tkValueBox", "tk_value_box"),

	/**
	 * The '<em><b>Tk Native</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_NATIVE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_NATIVE(31, "tkNative", "tk_native"),

	/**
	 * The '<em><b>Tk Abstract Interface</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_ABSTRACT_INTERFACE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_ABSTRACT_INTERFACE(32, "tkAbstractInterface", "tk_abstract_interface"),

	/**
	 * The '<em><b>Tk Local Interface</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_LOCAL_INTERFACE_VALUE
	 * @generated
	 * @ordered
	 */
	TK_LOCAL_INTERFACE(33, "tkLocalInterface", "tk_local_interface"),

	/**
	 * The '<em><b>Tk Component</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_COMPONENT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_COMPONENT(34, "tkComponent", "tk_component"),

	/**
	 * The '<em><b>Tk Home</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_HOME_VALUE
	 * @generated
	 * @ordered
	 */
	TK_HOME(35, "tkHome", "tk_home"),

	/**
	 * The '<em><b>Tk Event</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TK_EVENT_VALUE
	 * @generated
	 * @ordered
	 */
	TK_EVENT(36, "tkEvent", "tk_event");

	/**
	 * The '<em><b>Tk Null</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Null</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_NULL
	 * @model name="tkNull" literal="tk_null"
	 * @generated
	 * @ordered
	 */
	public static final int TK_NULL_VALUE = 0;

	/**
	 * The '<em><b>Tk Void</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Void</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_VOID
	 * @model name="tkVoid" literal="tk_void"
	 * @generated
	 * @ordered
	 */
	public static final int TK_VOID_VALUE = 1;

	/**
	 * The '<em><b>Tk Short</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Short</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_SHORT
	 * @model name="tkShort" literal="tk_short"
	 * @generated
	 * @ordered
	 */
	public static final int TK_SHORT_VALUE = 2;

	/**
	 * The '<em><b>Tk Long</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Long</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_LONG
	 * @model name="tkLong" literal="tk_long"
	 * @generated
	 * @ordered
	 */
	public static final int TK_LONG_VALUE = 3;

	/**
	 * The '<em><b>Tk Ushort</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Ushort</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_USHORT
	 * @model name="tkUshort" literal="tk_ushort"
	 * @generated
	 * @ordered
	 */
	public static final int TK_USHORT_VALUE = 4;

	/**
	 * The '<em><b>Tk Ulong</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Ulong</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ULONG
	 * @model name="tkUlong" literal="tk_ulong"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ULONG_VALUE = 5;

	/**
	 * The '<em><b>Tk Float</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Float</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_FLOAT
	 * @model name="tkFloat" literal="tk_float"
	 * @generated
	 * @ordered
	 */
	public static final int TK_FLOAT_VALUE = 6;

	/**
	 * The '<em><b>Tk Double</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Double</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_DOUBLE
	 * @model name="tkDouble" literal="tk_double"
	 * @generated
	 * @ordered
	 */
	public static final int TK_DOUBLE_VALUE = 7;

	/**
	 * The '<em><b>Tk Boolean</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Boolean</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_BOOLEAN
	 * @model name="tkBoolean" literal="tk_boolean"
	 * @generated
	 * @ordered
	 */
	public static final int TK_BOOLEAN_VALUE = 8;

	/**
	 * The '<em><b>Tk Char</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Char</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_CHAR
	 * @model name="tkChar" literal="tk_char"
	 * @generated
	 * @ordered
	 */
	public static final int TK_CHAR_VALUE = 9;

	/**
	 * The '<em><b>Tk Octet</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Octet</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_OCTET
	 * @model name="tkOctet" literal="tk_octet"
	 * @generated
	 * @ordered
	 */
	public static final int TK_OCTET_VALUE = 10;

	/**
	 * The '<em><b>Tk Any</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Any</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ANY
	 * @model name="tkAny" literal="tk_any"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ANY_VALUE = 11;

	/**
	 * The '<em><b>Tk Type Code</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Type Code</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_TYPE_CODE
	 * @model name="tkTypeCode" literal="tk_TypeCode"
	 * @generated
	 * @ordered
	 */
	public static final int TK_TYPE_CODE_VALUE = 12;

	/**
	 * The '<em><b>Tk Principal</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Principal</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_PRINCIPAL
	 * @model name="tkPrincipal" literal="tk_Principal"
	 * @generated
	 * @ordered
	 */
	public static final int TK_PRINCIPAL_VALUE = 13;

	/**
	 * The '<em><b>Tk Objref</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Objref</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_OBJREF
	 * @model name="tkObjref" literal="tk_objref"
	 * @generated
	 * @ordered
	 */
	public static final int TK_OBJREF_VALUE = 14;

	/**
	 * The '<em><b>Tk Struct</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Struct</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_STRUCT
	 * @model name="tkStruct" literal="tk_struct"
	 * @generated
	 * @ordered
	 */
	public static final int TK_STRUCT_VALUE = 15;

	/**
	 * The '<em><b>Tk Union</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Union</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_UNION
	 * @model name="tkUnion" literal="tk_union"
	 * @generated
	 * @ordered
	 */
	public static final int TK_UNION_VALUE = 16;

	/**
	 * The '<em><b>Tk Enum</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Enum</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ENUM
	 * @model name="tkEnum" literal="tk_enum"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ENUM_VALUE = 17;

	/**
	 * The '<em><b>Tk String</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk String</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_STRING
	 * @model name="tkString" literal="tk_string"
	 * @generated
	 * @ordered
	 */
	public static final int TK_STRING_VALUE = 18;

	/**
	 * The '<em><b>Tk Sequence</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Sequence</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_SEQUENCE
	 * @model name="tkSequence" literal="tk_sequence"
	 * @generated
	 * @ordered
	 */
	public static final int TK_SEQUENCE_VALUE = 19;

	/**
	 * The '<em><b>Tk Array</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Array</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ARRAY
	 * @model name="tkArray" literal="tk_array"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ARRAY_VALUE = 20;

	/**
	 * The '<em><b>Tk Alias</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Alias</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ALIAS
	 * @model name="tkAlias" literal="tk_alias"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ALIAS_VALUE = 21;

	/**
	 * The '<em><b>Tk Except</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Except</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_EXCEPT
	 * @model name="tkExcept" literal="tk_except"
	 * @generated
	 * @ordered
	 */
	public static final int TK_EXCEPT_VALUE = 22;

	/**
	 * The '<em><b>Tk Longlong</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Longlong</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_LONGLONG
	 * @model name="tkLonglong" literal="tk_longlong"
	 * @generated
	 * @ordered
	 */
	public static final int TK_LONGLONG_VALUE = 23;

	/**
	 * The '<em><b>Tk Ulonglong</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Ulonglong</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ULONGLONG
	 * @model name="tkUlonglong" literal="tk_ulonglong"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ULONGLONG_VALUE = 24;

	/**
	 * The '<em><b>Tk Longdouble</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Longdouble</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_LONGDOUBLE
	 * @model name="tkLongdouble" literal="tk_longdouble"
	 * @generated
	 * @ordered
	 */
	public static final int TK_LONGDOUBLE_VALUE = 25;

	/**
	 * The '<em><b>Tk Wchar</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Wchar</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_WCHAR
	 * @model name="tkWchar" literal="tk_wchar"
	 * @generated
	 * @ordered
	 */
	public static final int TK_WCHAR_VALUE = 26;

	/**
	 * The '<em><b>Tk Wstring</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Wstring</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_WSTRING
	 * @model name="tkWstring" literal="tk_wstring"
	 * @generated
	 * @ordered
	 */
	public static final int TK_WSTRING_VALUE = 27;

	/**
	 * The '<em><b>Tk Fixed</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Fixed</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_FIXED
	 * @model name="tkFixed" literal="tk_fixed"
	 * @generated
	 * @ordered
	 */
	public static final int TK_FIXED_VALUE = 28;

	/**
	 * The '<em><b>Tk Value</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Value</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_VALUE
	 * @model name="tkValue" literal="tk_value"
	 * @generated
	 * @ordered
	 */
	public static final int TK_VALUE_VALUE = 29;

	/**
	 * The '<em><b>Tk Value Box</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Value Box</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_VALUE_BOX
	 * @model name="tkValueBox" literal="tk_value_box"
	 * @generated
	 * @ordered
	 */
	public static final int TK_VALUE_BOX_VALUE = 30;

	/**
	 * The '<em><b>Tk Native</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Native</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_NATIVE
	 * @model name="tkNative" literal="tk_native"
	 * @generated
	 * @ordered
	 */
	public static final int TK_NATIVE_VALUE = 31;

	/**
	 * The '<em><b>Tk Abstract Interface</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Abstract Interface</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_ABSTRACT_INTERFACE
	 * @model name="tkAbstractInterface" literal="tk_abstract_interface"
	 * @generated
	 * @ordered
	 */
	public static final int TK_ABSTRACT_INTERFACE_VALUE = 32;

	/**
	 * The '<em><b>Tk Local Interface</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Local Interface</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_LOCAL_INTERFACE
	 * @model name="tkLocalInterface" literal="tk_local_interface"
	 * @generated
	 * @ordered
	 */
	public static final int TK_LOCAL_INTERFACE_VALUE = 33;

	/**
	 * The '<em><b>Tk Component</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Component</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_COMPONENT
	 * @model name="tkComponent" literal="tk_component"
	 * @generated
	 * @ordered
	 */
	public static final int TK_COMPONENT_VALUE = 34;

	/**
	 * The '<em><b>Tk Home</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Home</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_HOME
	 * @model name="tkHome" literal="tk_home"
	 * @generated
	 * @ordered
	 */
	public static final int TK_HOME_VALUE = 35;

	/**
	 * The '<em><b>Tk Event</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>Tk Event</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TK_EVENT
	 * @model name="tkEvent" literal="tk_event"
	 * @generated
	 * @ordered
	 */
	public static final int TK_EVENT_VALUE = 36;

	/**
	 * An array of all the '<em><b>TC Kind</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final TCKind[] VALUES_ARRAY = new TCKind[] { TK_NULL,
			TK_VOID, TK_SHORT, TK_LONG, TK_USHORT, TK_ULONG, TK_FLOAT,
			TK_DOUBLE, TK_BOOLEAN, TK_CHAR, TK_OCTET, TK_ANY, TK_TYPE_CODE,
			TK_PRINCIPAL, TK_OBJREF, TK_STRUCT, TK_UNION, TK_ENUM, TK_STRING,
			TK_SEQUENCE, TK_ARRAY, TK_ALIAS, TK_EXCEPT, TK_LONGLONG,
			TK_ULONGLONG, TK_LONGDOUBLE, TK_WCHAR, TK_WSTRING, TK_FIXED,
			TK_VALUE, TK_VALUE_BOX, TK_NATIVE, TK_ABSTRACT_INTERFACE,
			TK_LOCAL_INTERFACE, TK_COMPONENT, TK_HOME, TK_EVENT, };

	/**
	 * A public read-only list of all the '<em><b>TC Kind</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<TCKind> VALUES = Collections
			.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>TC Kind</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static TCKind get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			TCKind result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>TC Kind</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static TCKind getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			TCKind result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>TC Kind</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static TCKind get(int value) {
		switch (value) {
		case TK_NULL_VALUE:
			return TK_NULL;
		case TK_VOID_VALUE:
			return TK_VOID;
		case TK_SHORT_VALUE:
			return TK_SHORT;
		case TK_LONG_VALUE:
			return TK_LONG;
		case TK_USHORT_VALUE:
			return TK_USHORT;
		case TK_ULONG_VALUE:
			return TK_ULONG;
		case TK_FLOAT_VALUE:
			return TK_FLOAT;
		case TK_DOUBLE_VALUE:
			return TK_DOUBLE;
		case TK_BOOLEAN_VALUE:
			return TK_BOOLEAN;
		case TK_CHAR_VALUE:
			return TK_CHAR;
		case TK_OCTET_VALUE:
			return TK_OCTET;
		case TK_ANY_VALUE:
			return TK_ANY;
		case TK_TYPE_CODE_VALUE:
			return TK_TYPE_CODE;
		case TK_PRINCIPAL_VALUE:
			return TK_PRINCIPAL;
		case TK_OBJREF_VALUE:
			return TK_OBJREF;
		case TK_STRUCT_VALUE:
			return TK_STRUCT;
		case TK_UNION_VALUE:
			return TK_UNION;
		case TK_ENUM_VALUE:
			return TK_ENUM;
		case TK_STRING_VALUE:
			return TK_STRING;
		case TK_SEQUENCE_VALUE:
			return TK_SEQUENCE;
		case TK_ARRAY_VALUE:
			return TK_ARRAY;
		case TK_ALIAS_VALUE:
			return TK_ALIAS;
		case TK_EXCEPT_VALUE:
			return TK_EXCEPT;
		case TK_LONGLONG_VALUE:
			return TK_LONGLONG;
		case TK_ULONGLONG_VALUE:
			return TK_ULONGLONG;
		case TK_LONGDOUBLE_VALUE:
			return TK_LONGDOUBLE;
		case TK_WCHAR_VALUE:
			return TK_WCHAR;
		case TK_WSTRING_VALUE:
			return TK_WSTRING;
		case TK_FIXED_VALUE:
			return TK_FIXED;
		case TK_VALUE_VALUE:
			return TK_VALUE;
		case TK_VALUE_BOX_VALUE:
			return TK_VALUE_BOX;
		case TK_NATIVE_VALUE:
			return TK_NATIVE;
		case TK_ABSTRACT_INTERFACE_VALUE:
			return TK_ABSTRACT_INTERFACE;
		case TK_LOCAL_INTERFACE_VALUE:
			return TK_LOCAL_INTERFACE;
		case TK_COMPONENT_VALUE:
			return TK_COMPONENT;
		case TK_HOME_VALUE:
			return TK_HOME;
		case TK_EVENT_VALUE:
			return TK_EVENT;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private TCKind(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
		return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
		return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
		return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}

} //TCKind
